package echecs;

import static echecs.Couleur.*;

public class Piece extends APiece {

    public static Piece Dame_Blanche;
    public static Piece Roi_Blanc;
    public static Piece Roi_Noir;
    public static Piece Cavalier_Noir;

    public Piece() {
        Dame_Blanche = new Dame(blanc);
        Roi_Blanc = new Roi(blanc);
        Roi_Noir = new Roi(noir);
        Cavalier_Noir = new Cavalier(noir);
    }

    public Piece(Couleur couleur) {
        super(couleur);
        this.couleur = couleur;
    }

    @Override
    public void search(final Case c) {
        if (gen.getColorAnalyse().equals(couleur)) {
            new Regle(c, this).test();
        }
    }

    private class Cavalier extends Piece {

        private Cavalier(Couleur couleur) {
            super(couleur);
            nom = "n";
//            regletype.setTypeCavalier(true);
        }
    }

    private class Dame extends Piece {

        private Dame(Couleur couleur) {
            super(couleur);
            nom = "q";
            regletype.setTypeNCaseDTF(true);
        }
    }

    private class Roi extends Piece {

        private Roi(Couleur couleur) {
            super(couleur);
            nom = "k";
//            regletype.setTypeRoi(true);
        }
    }

}
